]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
popupMenu: Hide settings menus outside user session
authorRay Strode <rstrode@redhat.com>
Mon, 29 Aug 2011 02:15:53 +0000 (22:15 -0400)
committerRay Strode <rstrode@redhat.com>
Sun, 28 Aug 2011 16:31:34 +0000 (12:31 -0400)
The control-center contains user-pertinent settings
panels. These panels don't make sense to show outside
of a user's session, so hide them for session types other
than SessionType.USER.

https://bugzilla.gnome.org/show_bug.cgi?id=657082

js/ui/dateMenu.js
js/ui/popupMenu.js

index dbab33648c273f893eeb4fcc13157450a5b2b3da..37ce87b6dd2023b8860a776f3518980d384491a2 100644 (file)
@@ -97,13 +97,14 @@ DateMenuButton.prototype = {
         vbox.add(this._calendar.actor);
 
         item = this.menu.addSettingsAction(_("Date and Time Settings"), 'gnome-datetime-panel.desktop');
+        if (item) {
+            let separator = new PopupMenu.PopupSeparatorMenuItem();
+            separator.setColumnWidths(1);
+            vbox.add(separator.actor, {y_align: St.Align.END, expand: true, y_fill: false});
 
-        let separator = new PopupMenu.PopupSeparatorMenuItem();
-        separator.setColumnWidths(1);
-        vbox.add(separator.actor, {y_align: St.Align.END, expand: true, y_fill: false});
-
-        item.actor.can_focus = false;
-        item.actor.reparent(vbox);
+            item.actor.can_focus = false;
+            item.actor.reparent(vbox);
+        }
 
         if (params.showEvents) {
             // Add vertical separator
index fc4956e25507bba14d3d2c30e9d54043269037a8..afa851d44307b8ff31e1615ce9c209d0b7501323 100644 (file)
@@ -813,6 +813,10 @@ PopupMenuBase.prototype = {
     },
 
     addSettingsAction: function(title, desktopFile) {
+        // Don't allow user settings to get edited unless we're in a user session
+        if (global.session_type != Shell.SessionType.USER)
+            return null;
+
         let menuItem = this.addAction(title, function() {
                            let app = Shell.AppSystem.get_default().lookup_setting(desktopFile);